package kn.cstf2.login.Client;


import kn.cstf2.global.Utils.CstF2Exception;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;
import kn.cstf2.login.Shared.LoginShared;
import kn.cstf2.main.Client.MainAction;
import kn.mx.cstf2.dto.UsuarioDto;

import org.apache.log4j.Logger;

/**
 * @author Izhar Gamaliel Henandez Cruz
 * Programador Java Junior
 * Desarrollado para Kuehne + Nagel
 */

public class LoginAction extends ActionSupport {

    private static Logger log = Logger.getLogger(LoginAction.class);
    public static final String ERROR_SESSION = "errorSession";
    private UsuarioDto usuario = new UsuarioDto();

    //private ArrayList<TransitionBean>  transitionBeanM ;
    
    public UsuarioDto getUsuario() {
        return usuario;
    }

    public void setUsuario(UsuarioDto usuario) {
        this.usuario = usuario;
    }
    
    public void LoginAction(){
        MainAction mainAction = new MainAction();
        System.out.println();
    }
    private static final Integer exit=0;

    public static Logger getLog() {
        return log;
    }

    public static void setLog(Logger log) {
        LoginAction.log = log;
    }

    

    @Override
    public String execute() {
        ActionContext contexto = ActionContext.getContext();
        Map<String, Object> sesion = contexto.getSession();
        sesion.put("usuarioSession", usuario);

        try {
            LoginShared loginShared = new LoginShared();
            
            usuario = loginShared.validate(usuario);
            usuario = loginShared.obtenerUsuarioIngreso(usuario);
            
            if (usuario != null) {
                
                sesion.put("usuarioSession", usuario);
              
//                MainShared mainShared=new MainShared();
//                setTransitionBeanM(mainShared.GetTransitionBeanArrayIdKnkey(usuario));
                              
            } else {
                log.info("El usuario y/o password son incorrectos.");
                addFieldError("loginIncorrecto", "El usuario y/o password son incorrectos.");
                return ERROR_SESSION;
            }
        } catch (CstF2Exception ex) {
            log.error("ERROR. ", ex);
            addFieldError("loginIncorrecto", "Ocurrio un Error: " + ex.getMessage());
            return ERROR_SESSION;
        }
        
        return SUCCESS;
    }

//    public ArrayList<TransitionBean> getTransitionBeanM() {
//        return transitionBeanM;
//    }
//
//    public void setTransitionBeanM(ArrayList<TransitionBean> transitionBeanM) {
//        this.transitionBeanM = transitionBeanM;
//    }


}

